Get all possible two digit letter combinations from

Get all possible two digit letter combinations from a digit (1 to 9) string.
string_maps = {
“1”: “abc”,
“2”: “def”,
“3”: “ghi”,
“4”: “jkl”,
“5”: “mno”,
“6”: “pqrs”,
“7”: “tuv”,
“8”: “wxy”,
“9”: “z”
}
def letter_combinations(digits):

    if digits == "":
        return []

    string_maps = {
        "1": "abc",
        "2": "def",
        "3": "ghi",
        "4": "jkl",
        "5": "mno",
        "6": "pqrs",
        "7": "tuv",
        "8": "wxy",
        "9": "z"
    }
    result = [""]

    for num in digits:
        temp = []
        for an in result:
            for char in string_maps[num]:
                temp.append(an + char)
        result = temp
    return result

digit_string = "47"
print(letter_combinations(digit_string))

digit_string = "29"
print(letter_combinations(digit_string))

Output:

['jt', 'ju', 'jv', 'kt', 'ku', 'kv', 'lt', 'lu', 'lv']
['dz', 'ez', 'fz']